Verified tensor-program optimization via high-level scheduling rewrites

نویسندگان

چکیده

We present a lightweight Coq framework for optimizing tensor kernels written in pure, functional array language. Optimizations rely on user scheduling using series of verified, semantics-preserving rewrites. Unusually compilation targeting imperative code with arrays and nested loops, all rewrites are source-to-source within purely Our language comprises set core constructs expressing high-level computation detail what we call reshape operators, which can be derived from but trigger low-level decisions about storage patterns ordering. demonstrate that not only is this system capable deriving the optimizations existing state-of-the-art languages like Halide generating comparably performant code, it also able to schedule family useful program transformations beyond reachable Halide.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

High-order Tensor Completion for Data Recovery via Sparse Tensor-train Optimization

In this paper, we aim at the problem of tensor data completion. Tensor-train decomposition is adopted because of its powerful representation ability and linear scalability to tensor order. We propose an algorithm named Sparse Tensortrain Optimization (STTO) which considers incomplete data as sparse tensor and uses first-order optimization method to find the factors of tensor-train decomposition...

متن کامل

Tensor principal component analysis via convex optimization

This paper is concerned with the computation of the principal components for a general tensor, known as the tensor principal component analysis (PCA) problem. We show that the general tensor PCA problem is reducible to its special case where the tensor in question is supersymmetric with an even degree. In that case, the tensor can be embedded into a symmetric matrix. We prove that if the tensor...

متن کامل

High-Level Code Optimization

Software systems are inherently complex. Building large software systems has proved so difficult precisely because of the complexity levels with which programmers have to deal. In [7] Brooks divides complexity in essential and accidental and argues that solutions which worked in other fields cannot apply to software. Essential complexity stems from very nature of software (i.e. the large number...

متن کامل

Riemannian Optimization for High-Dimensional Tensor Completion

Tensor completion aims to reconstruct a high-dimensional data set with a large fraction of missing entries. The assumption of low-rank structure in the underlying original data allows us to cast the completion problem into an optimization problem restricted to the manifold of fixed-rank tensors. Elements of this smooth embedded submanifold can be efficiently represented in the tensor train (TT)...

متن کامل

Evolving High - Level Imperative Program

Genetic Programming (GP) is a technique which uses an evolutionary metaphor to automatically generate computer programs. Although GP proclaims to evolve computer programs, historically it has been used to produce code which more closely resembles mathematical formulae than the well structured programs that modern programmers aim to produce. The objective of this thesis is to explore the use of ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Proceedings of the ACM on programming languages

سال: 2022

ISSN: ['2475-1421']

DOI: https://doi.org/10.1145/3498717